'''
Created on 01/06/2013

@author: cristian
'''

from flask import Flask, session, redirect, url_for, escape, request, Response
from pm import app
from pm.database import db
from . import jsonifiedview
import datetime
import simplejson
from pm.models.LineaBase import LineaBase
from pm.models.SolicitudCambio import SolicitudCambio
from pm.models.VotacionSolicitudCambio import VotacionSolicitudCambio
from pm.models.MiembrosComite import  MiembrosComite    
from pm.models.Items import Items
from pm.views.RelacionesViews import calcularImpactoSolicitud
from .LoginViews import islogged
from pm.models.UsuariosRoles import UsuariosRoles
from pm.models.UsuariosRolesFases import UsuariosRolesFases
from pm.models.Usuarios import Usuarios
from pm.models.Roles import Roles
from pm.views import ensureParams
from sqlalchemy.exc import IntegrityError
from sqlalchemy import or_
from pm.models.Fases import Fases
import json
from StringIO import StringIO
from pm.views.MetodosRelacionesViews import recorrerAdelante



def cambiarEstado(idItem): 
    visitadoAdelante = []
    '''Se procesa las siguientes lineas bases relacionadas con ese item, verificar items sucesores y relaciones sucesores'''
    recorrerAdelante(idItem, visitadoAdelante)
    if visitadoAdelante!=None:
        for vad in visitadoAdelante:
            item= Items.query.filter(Items.id_item==vad).one()
            
            
            if item.id_linea_base!=None:
                
                faseEstado = Fases.query.filter(Fases.id_fase==item.id_fase).update({'estado':4})
                db.session.commit()
                
                lbitem= LineaBase.query.filter(LineaBase.id_linea_base==item.id_linea_base).update({'estado':3})
                db.session.commit()
                
                if item.estado!=4:
                    item=Items.query.filter(Items.id_item==vad).update({'estado':5})
                    db.session.commit()
                
                #cambiarEstado(vad)
            else :
                if item.estado!=4:
                    item=Items.query.filter(Items.id_item==vad).update({'estado':5})
                    db.session.commit()
                
                #cambiarEstado(vad)
        return 
    else:
        return
        
            
            
            
    


